import dataPreferences from '@ohos.data.preferences' // 导入首选项
import { Constants } from './Constants'

export class AppStorageKit{
  static async SetLoginUser<T>(data:T,context){
    try {
      // 保存数据到内存中
      AppStorage.SetOrCreate<T>('user',data)

      // 保存数据到首选项中
      const store = await dataPreferences.getPreferences(context,Constants.PREFERENCES_STORE)
      store.put(Constants.LOGIN_USER,JSON.stringify(data))
      await store.flush()
    }catch (err){
      console.log('AppStorageKit-SetLoginUser','写入失败')
    }
  }

  static async GetLoginUser<T>(context){
    try {
      // 保存数据到首选项(磁盘持久化)
      const store = await dataPreferences.getPreferences(context,Constants.PREFERENCES_STORE)
      let res = await store.get(Constants.LOGIN_USER,'{}')
      return JSON.parse(res.toString())
    }catch (err){
      console.log('AppStorageKit-GetLoginUser','数据获取失败')
    }
  }
}